The present invention relates to a velocity control apparatus for a rotating motor, and more particularly, to an absolute angular position calculation apparatus which calculates an absolute angular position of a rotating motor, to thereby obtain a reference position for velocity control, and a velocity control apparatus adopting the same.
A rotating motor such as a capstan motor includes a frequency generator for generating a frequency signal according to a rotating velocity. The frequency signal FG generated at a pulse period by a certain interval of angle in the frequency generator is used for velocity control.
FIG. 1A is a waveform diagram showing a frequency signal FG generated according to a rotating velocity of a conventional motor. FIG. 1B shows a counter 10 for measuring a pulse period of the frequency signal FG. The period measurement counter 10 is synchronized with a high frequency clock CLK and counts the number cycles of the clock CLK generated during a pulse interval of the frequency signal FG generated from the rotating motor to measure the period of the frequency signal FG. The measured period is used for velocity control of the motor. Korean Patent Application No. 95-19515 filed on Jul. 4, 1995 by the same assignee as that of the present application, discloses an apparatus for estimating a disturbance and removing the disturbance using a repetition learning when the disturbance per revolution of a motor which is used for an apparatus such as a video cassette recorder (VCR) is input consistently, in order to enhance a velocity control performance of the motor.
FIG. 2 is a block diagram showing a velocity control apparatus of a conventional rotating motor disclosed in the above Korean Patent Application No. 95-19515. The conventional rotating motor velocity control apparatus disclosed in the above Korean Patent Application will be briefly described below.
In FIG. 2, a current velocity .omega. and an angular position .theta. which are calculated by a motor 25 are input to a first adder A1 and a learning compensator 27, respectively. The first adder A1 outputs a velocity error .omega..sub.e representing a difference between the current velocity .omega. of the motor 25 and a reference velocity .omega.*. The velocity error .omega..sub.e is input to a velocity controller 21. If the load torque with respect to the motor 25 is zero, then no load disturbance exists in the motor and the velocity controller 21 can obtain an excellent velocity control characteristic using only a general velocity control. However, if a load torque exists, then a velocity control characteristic is lowered and the learning compensator 27 removes a disturbance of the motor, which is expressed as a function of angular position and angular velocity, using a repetition learning.
The learning compensator 27 receives an output i.sub.v * from the velocity controller 21 and the angular position .theta., and produces an output for removing an influence of the disturbance. A disturbance compensation command i.sub.LK *(.theta.) obtained by the learning compensator 27 is input to a second adder A2. The second adder A2 adds a current command i.sub.v * applied from the velocity controller 21 and the disturbance compensation command i.sub.LK *(.theta.) applied from the learning compensator 27 to generate a modified current command i*. The current controller 23 receives the modified current command i* from adder A2 and outputs a torque command to the motor 25 in response to the input current command i. A third adder A3 in the motor 25 subtracts the applied disturbance H (.theta.,.theta.) from the torque command applied from the current controller 23 and outputs a modified torque command .tau.*. A velocity of a motor 25' which is expressed as a transfer function of 1/(JS+B) is controlled according to the torque command .tau.*. In the result of velocity control, the angular velocity .omega. output from the motor 25 is fed back to the first adder A1 and is used for calculation of a velocity error .omega.e together with the velocity command .omega.*. The velocity error .omega.e is input to the velocity controller 21 which outputs a current command for controlling a rotating velocity of the motor 25 according to the input velocity error. The current command is input to the learning compensator 27. The angular velocity .omega. is output as an angular position .theta. via a motor 25", expressed as a transfer function of 1/S, and is fed back to the learning compensator 27.
As described above, the learning compensator 27 requires the angular position .theta. as an input. To obtain the angular position .theta., a signal representing an absolute angle of the motor 25 is needed. A pulse generator generates a pulse signal having a pulse per revolution of the motor. The absolute angular position of the motor is calculated from the pulse signal. However, only the frequency signal generated with a uniform interval of angle is available since the conventional motor has only a frequency generator. Thus, an absolute angular position cannot be obtained. Instead, a relative angular position can be determined by counting the number of the frequency signal FG based on an arbitrary reference position. Therefore, whenever power is turned on or a motor starts to rotate, the learning compensator 27 is repetitively learned on the basis of an arbitrary reference position.
However, in the case of a learning control by a relative angular a learning should be performed for every starting, which results in an increased transient time until the motor is stabilized. Also, since the learned data is changed for each time, a storage medium having a capacity proportional to the number of pulses of the frequency signal is required to store the data, for example, a random access memory (RAM). Furthermore, a pulse generator may be attached to the motor, which can increase the cost of the motor.